#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>

typedef int HPDataType;

typedef struct Heap
{
	HPDataType* a;
	int size;
	int capacity;
}HP;

void HeapInit(HP* php);


void HeapDestory(HP* php);



void HeapPush(HP* php, HPDataType x);

void AdjustUp(HPDataType* a,int n);

void HeapPrint(HP* php);

void HeapPop(HP* php);

void AdjustDown(HPDataType* a, int n);

HPDataType HeapTop(HP* hp);

bool HeapEmpty(HP* hp);

void HeapInitArray(HP* hp, HPDataType* a, int n);
